/** layuiAdmin.std-v1.0.0-beta9 LPPL License By http://www.layui.com/admin/ */ ;

layui.define("view", function(e) {
    var a = layui.jquery,
        i = layui.laytpl,
        t = layui.element,
        n = layui.setter,
        s = layui.view,
        l = layui.device(),
        o = a(window),
        r = a("body"),
        d = a("#" + n.container),
        u = "layui-show",
        c = "layui-hide",
        y = "layui-this",
        f = "layui-disabled",
        m = "#LAY_app_body",
        h = "LAY_app_flexible",
        p = "layadmin-layout-tabs",
        v = "layadmin-side-spread-sm",
        b = "layadmin-tabsbody-item",
        g = "layui-icon-shrink-right",
        x = "layui-icon-spread-left",
        C = "layadmin-side-shrink",
        P = "LAY-system-side-menu",
        A = {
            v: "1.0.0-beta9 std",
            req: s.req,
            sendAuthCode: function(e) {

                e = a.extend({
                    seconds: 60,
                    elemPhone: "#LAY_phone",
                    elemVercode: "#LAY_vercode"
                }, e);
                var i, t = e.seconds,
                    n = a(e.elem),
                    s = function(a) {
                        t--, t < 0 ? (n.removeClass(f).html("获取验证码"), t = e.seconds, clearInterval(i)) : n.addClass(f).html(t + "秒后重获"), a || (i = setInterval(function() {
                            s(!0)
                        }, 1e3))
                    };
                e.elemPhone = a(e.elemPhone), e.elemVercode = a(e.elemVercode), n.on("click", function() {
                    var i = e.elemPhone,
                        n = i.val();
                    if(t === e.seconds && !a(this).hasClass(f)) {
                        if(!/^1\d{10}$/.test(n)) return i.focus(), layer.msg("请输入正确的手机号");
                        if("object" == typeof e.ajax) {
                            var l = e.ajax.success;
                            delete e.ajax.success
                        }
                        A.req(a.extend(!0, {
                            url: "http://127.0.0.1:8080/user/sendsms/"+n,
                            type: "post",
                            data: {
                                phone: n
                            },
                            success: function(a) {
                                layer.msg("验证码已发送至你的手机，请注意查收", {
                                    icon: 1,
                                    shade: 0
                                }), e.elemVercode.focus(), s(), l && l(a)
                            }
                        }, e.ajax))
                    }
                })
            },
            screen: function() {
                var e = o.width();
                return e >= 1200 ? 3 : e >= 992 ? 2 : e >= 768 ? 1 : 0
            },
            exit: s.exit,
            sideFlexible: function(e) {
                var i = d,
                    t = a("#" + h),
                    s = A.screen();
                "spread" === e ? (t.removeClass(x).addClass(g), s < 2 ? i.addClass(v) : i.removeClass(v), i.removeClass(C)) : (t.removeClass(g).addClass(x), s < 2 ? i.removeClass(C) : i.addClass(C), i.removeClass(v)), layui.event.call(this, n.MOD_NAME, "side({*})", {
                    status: e
                })
            },
            on: function(e, a) {
                return layui.onevent.call(this, n.MOD_NAME, e, a)
            },
            popup: s.popup,
            popupRight: function(e) {
                return A.popup.index = layer.open(a.extend({
                    type: 1,
                    id: "LAY_adminPopupR",
                    anim: -1,
                    title: !1,
                    closeBtn: !1,
                    offset: "r",
                    shade: .1,
                    shadeClose: !0,
                    skin: "layui-anim layui-anim-rl layui-layer-adminRight",
                    area: "300px"
                }, e))
            },
            theme: function(e) {
                var t = (n.theme, layui.data(n.tableName)),
                    s = "LAY_layadmin_theme",
                    l = document.createElement("style"),
                    o = i([".layui-side-menu,", ".layadmin-pagetabs .layui-tab-title li:after,", ".layadmin-pagetabs .layui-tab-title li.layui-this:after,", ".layui-layer-admin .layui-layer-title,", ".layadmin-side-shrink .layui-side-menu .layui-nav>.layui-nav-item>.layui-nav-child", "{background-color:{{d.color.main}} !important;}", ".layui-nav-tree .layui-this,", ".layui-nav-tree .layui-this>a,", ".layui-nav-tree .layui-nav-child dd.layui-this,", ".layui-nav-tree .layui-nav-child dd.layui-this a", "{background-color:{{d.color.selected}} !important;}", ".layui-layout-admin .layui-logo{background-color:{{d.color.logo || d.color.main}} !important;}}"].join("")).render(e = a.extend({}, t.theme, e)),
                    d = document.getElementById(s);
                "styleSheet" in l ? (l.setAttribute("type", "text/css"), l.styleSheet.cssText = o) : l.innerHTML = o, l.id = s, d && r[0].removeChild(d), r[0].appendChild(l), r.attr("layadmin-themealias", e.color.alias), t.theme = t.theme || {}, layui.each(e, function(e, a) {
                    t.theme[e] = a
                }), layui.data(n.tableName, {
                    key: "theme",
                    value: t.theme
                })
            },
            tabsPage: {},
            tabsBody: function(e) {
                return a(m).find("." + b).eq(e || 0)
            },
            tabsBodyChange: function(e, a) {
                a = a || {}, A.tabsBody(e).addClass(u).siblings().removeClass(u), _.rollPage("auto", e), layui.event.call(this, n.MOD_NAME, "tabsPage({*})", {
                    url: a.url,
                    text: a.text
                })
            },
            resize: function(e) {
                var a = layui.router(),
                    i = a.path.join("-");
                o.off("resize", A.resizeFn[i]), e(), A.resizeFn[i] = e, o.on("resize", A.resizeFn[i])
            },
            resizeFn: {},
            runResize: function() {
                var e = layui.router(),
                    a = e.path.join("-");
                A.resizeFn[a] && A.resizeFn[a]()
            },
            delResize: function() {
                var e = layui.router(),
                    a = e.path.join("-");
                o.off("resize", A.resizeFn[a]), delete A.resizeFn[a]
            },
            closeThisTabs: function() {
                A.tabsPage.index && a(z).eq(A.tabsPage.index).find(".layui-tab-close").trigger("click")
            }
        },
        _ = A.events = {
            flexible: function(e) {
                var a = e.find("#" + h),
                    i = a.hasClass(x);
                A.sideFlexible(i ? "spread" : null)
            },
            refresh: function() {
                var e = A.tabsBody(A.tabsPage.index).find(".layadmin-iframe");
                e[0].contentWindow.location.reload(!0)
            },
            message: function(e) {
                e.find(".layui-badge-dot").remove()
            },
            theme: function() {
                A.popupRight({
                    id: "LAY_adminPopupTheme",
                    success: function() {
                        s(this.id).render("system/theme")
                    }
                })
            },
            note: function(e) {
                var a = A.screen() < 2,
                    i = layui.data(n.tableName).note;
                _.note.index = A.popup({
                    title: "便签",
                    shade: 0,
                    offset: ["41px", a ? null : e.offset().left - 250 + "px"],
                    anim: -1,
                    id: "LAY_adminNote",
                    skin: "layadmin-note layui-anim layui-anim-upbit",
                    content: '<textarea placeholder="内容"></textarea>',
                    resize: !1,
                    success: function(e, a) {
                        var t = e.find("textarea"),
                            s = void 0 === i ? "便签中的内容会存储在本地，这样即便你关掉了浏览器，在下次打开时，依然会读取到上一次的记录。是个非常小巧实用的本地备忘录" : i;
                        t.val(s).focus().on("keyup", function() {
                            layui.data(n.tableName, {
                                key: "note",
                                value: this.value
                            })
                        })
                    }
                })
            },
            about: function() {
                A.popupRight({
                    id: "LAY_adminPopupAbout",
                    success: function() {
                        s(this.id).render("system/about")
                    }
                })
            },
            more: function() {
                A.popupRight({
                    id: "LAY_adminPopupMore",
                    success: function() {
                        s(this.id).render("system/more")
                    }
                })
            },
            back: function() {
                history.back()
            },
            setTheme: function(e) {
                var a = n.theme,
                    i = e.data("index");
                e.siblings(".layui-this").data("index");
                e.hasClass(y) || (e.addClass(y).siblings(".layui-this").removeClass(y), a.color[i] && (a.color[i].index = i, A.theme({
                    color: a.color[i]
                })))
            },
            rollPage: function(e, i) {
                var t = a("#LAY_app_tabsheader"),
                    n = t.children("li"),
                    s = (t.prop("scrollWidth"), t.outerWidth()),
                    l = parseFloat(t.css("left"));
                if("left" === e) {
                    if(!l && l <= 0) return;
                    var o = -l - s;
                    n.each(function(e, i) {
                        var n = a(i),
                            s = n.position().left;
                        if(s >= o) return t.css("left", -s), !1
                    })
                } else "auto" === e ? ! function() {
                    var e, o = n.eq(i);
                    if(o[0]) {
                        if(e = o.position().left, e < -l) return t.css("left", -e);
                        if(e + o.outerWidth() >= s - l) {
                            var r = e + o.outerWidth() - (s - l);
                            n.each(function(e, i) {
                                var n = a(i),
                                    s = n.position().left;
                                if(s + l > 0 && s - l > r) return t.css("left", -s), !1
                            })
                        }
                    }
                }() : n.each(function(e, i) {
                    var n = a(i),
                        o = n.position().left;
                    if(o + n.outerWidth() >= s - l) return t.css("left", -o), !1
                })
            },
            leftPage: function() {
                _.rollPage("left")
            },
            rightPage: function() {
                _.rollPage()
            },
            closeThisTabs: function() {
                A.closeThisTabs()
            },
            closeOtherTabs: function(e) {
                var i = "LAY-system-pagetabs-remove";
                "all" === e ? (a(z + ":gt(0)").remove(), a(m).find("." + b + ":gt(0)").remove(), a(z).eq(0).trigger("click")) : (a(z).each(function(e, t) {
                    e && e != A.tabsPage.index && (a(t).addClass(i), A.tabsBody(e).addClass(i))
                }), a("." + i).remove())
            },
            closeAllTabs: function() {
                _.closeOtherTabs("all")
            },
            shade: function() {
                A.sideFlexible()
            },
            im: function() {
                A.popup({
                    id: "LAY-popup-layim-demo",
                    shade: 0,
                    area: ["800px", "300px"],
                    title: "面板外的操作示例",
                    offset: "lb",
                    success: function() {
                        layui.view(this.id).render("layim/demo").then(function() {
                            layui.use("im")
                        })
                    }
                })
            }
        };
    ! function() {
        var e = layui.data(n.tableName);
        e.theme && A.theme(e.theme), "pageTabs" in layui.setter || (layui.setter.pageTabs = !0), n.pageTabs || (a("#LAY_app_tabs").addClass(c), d.addClass("layadmin-tabspage-none")), l.ie && l.ie < 10 && s.error("IE" + l.ie + "下访问可能不佳，推荐使用：Chrome / Firefox / Edge 等高级浏览器", {
            offset: "auto",
            id: "LAY_errorIE"
        })
    }(), t.on("tab(" + p + ")", function(e) {
        A.tabsPage.index = e.index
    }), A.on("tabsPage(setMenustatus)", function(e) {
        var i = e.url,
            t = function(e) {
                return {
                    list: e.children(".layui-nav-child"),
                    a: e.children("*[lay-href]")
                }
            },
            n = a("#" + P),
            s = "layui-nav-itemed",
            l = function(e) {
                e.each(function(e, n) {
                    var l = a(n),
                        o = t(l),
                        r = o.list.children("dd"),
                        d = i === o.a.attr("lay-href");
                    if(r.each(function(e, n) {
                            var l = a(n),
                                o = t(l),
                                r = o.list.children("dd"),
                                d = i === o.a.attr("lay-href");
                            if(r.each(function(e, n) {
                                    var l = a(n),
                                        o = t(l),
                                        r = i === o.a.attr("lay-href");
                                    if(r) {
                                        var d = o.list[0] ? s : y;
                                        return l.addClass(d).siblings().removeClass(d), !1
                                    }
                                }), d) {
                                var u = o.list[0] ? s : y;
                                return l.addClass(u).siblings().removeClass(u), !1
                            }
                        }), d) {
                        var u = o.list[0] ? s : y;
                        return l.addClass(u).siblings().removeClass(u), !1
                    }
                })
            };
        n.find("." + y).removeClass(y), A.screen() < 2 && A.sideFlexible(), l(n.children("li"))
    }), t.on("nav(layadmin-system-side-menu)", function(e) {
        e.siblings(".layui-nav-child")[0] && d.hasClass(C) && (A.sideFlexible("spread"), layer.close(e.data("index"))), A.tabsPage.type = "nav"
    }), t.on("nav(layadmin-pagetabs-nav)", function(e) {
        var a = e.parent();
        a.removeClass(y), a.parent().removeClass(u)
    });
    var k = function(e) {
            var a = e.attr("lay-id"),
                i = e.attr("lay-attr"),
                t = e.index();
            A.tabsBodyChange(t), location.hash = a === n.entry ? "/" : i
        },
        z = "#LAY_app_tabsheader>li";
    r.on("click", z, function() {
        var e = a(this),
            i = e.index();
        A.tabsPage.type = "tab", A.tabsPage.index = i, k(e)
    }), t.on("tabDelete(" + p + ")", function(e) {
        var i = a(z + ".layui-this");
        e.index && A.tabsBody(e.index).remove(), k(i), A.delResize()
    }), r.on("click", "*[lay-href]", function() {
        var e = a(this),
            i = e.attr("lay-href"),
            t = e.attr("lay-text");
        layui.router();
        A.tabsPage.elem = e;
        var n = parent === self ? layui : top.layui;
        n.index.openTabsPage(i, t || e.text())
    }), r.on("click", "*[layadmin-event]", function() {
        var e = a(this),
            i = e.attr("layadmin-event");
        _[i] && _[i].call(this, e)
    }), r.on("mouseenter", "*[lay-tips]", function() {
        var e = a(this);
        if(!e.parent().hasClass("layui-nav-item") || d.hasClass(C)) {
            var i = e.attr("lay-tips"),
                t = e.attr("lay-offset"),
                n = e.attr("lay-direction"),
                s = layer.tips(i, this, {
                    tips: n || 1,
                    time: -1,
                    success: function(e, a) {
                        t && e.css("margin-left", t + "px")
                    }
                });
            e.data("index", s)
        }
    }).on("mouseleave", "*[lay-tips]", function() {
        layer.close(a(this).data("index"))
    });
    var L = layui.data.resizeSystem = function() {
        layer.closeAll("tips"), L.lock || setTimeout(function() {
            A.sideFlexible(A.screen() < 2 ? "" : "spread"), delete L.lock
        }, 100), L.lock = !0
    };
    o.on("resize", layui.data.resizeSystem), e("admin", A)
});